Computer networks, and the Internet in particular, have become increasingly important for the storage, retrieval and communication of documents and other material. Among other things, the Internet may permit the inexpensive transmittal of large quantities of data, between locations that may be thousands of miles apart, in a very short period of time.
The availability of the Internet as an inexpensive and rapid tool for transmitting large quantities of data has led to interest in its adaptation to the communication of varieties of data that traditionally have been sent over other networks. Thus, for example, there is interest in using the Internet to transmit telephone conversations in lieu of the use of conventional telephone lines, or to transmit other communications that in the past may have utilized telephone lines, such as facsimile transmissions.
In using the Internet to transmit telephone conversations or facsimile transmissions, it may be desirable to use the Internet only for a portion of the communication, such as the “long distance” or middle portion of the communication, while the user who has initiated the communication, and/or the recipient of the communication, use their telephone (or facsimile machine) and their telephone line, rather than an Internet connection, to actually send or receive the transmission.
In order to permit this combination of telephone and Internet in communications, a number of protocols have been developed. Thus, for example, an H 323 protocol may be used to permit the transmission of voice over the Internet Protocol (“IP”) network. The result is referred to as the Voice Over IP (“VOIP”) or H 323 network. Insofar as a facsimile transmission conventionally may be made between two telephones, such a transmission may be sent using the VOIP network and the associated H 323 protocol.
However, a T 37 protocol also may be used to permit the transmission of facsimiles over the IP network.
The system of transmitting a facsimile over the IP network using the T 37 protocol proceeds by treating the facsimile as a TIF image, and sending it over the IP network as if it were an attachment to an E-mail message. To deliver the facsimile over a telephone line (or a wireless or other telephone connection) to a recipient, it may be converted to a facsimile image suitable for telephone transmission. The use of the T 37 protocol, for example, may permit a sender to originate a facsimile transmission directly from his computer, without the use of a facsimile machine, and thus without the use of a conventional telephone line connection.
Presently, a VOIP network under the H 323 protocol may utilize Gateways and Gatekeepers to manage the interaction between the telephone and IP systems. Thus, referring to FIG. 1, a process 10 to make a VOIP telephone call may begin with a caller 20 utilizing a conventional telephone to connect over a conventional telephone network 30 into an Inbound Gateway. (It will be understood by those of ordinary skill in the art that in place of using a conventional telephone and connecting over a conventional land-line telephone network, the call may begin through the use of a cellular or other telephone connecting over a wireless network. Hereafter, references to conventional telephone networks will be understood to encompass cellular or other wireless systems, and references to conventional telephones will be understood to refer to other types of telephones such as cellular telephones.)
The Inbound Gateway 40 is an entrance point to the IP network 50. In connecting into the Gateway the caller may provide a telephone number to which it is desired to place the telephone call. The Inbound Gateway 40 in turn may make an inquiry 60 to a Gatekeeper 70, which maintains a lookup table relating telephone numbers to Gateways.
Depending upon a variety of factors, the lookup table may maintain Gateway addresses, and may be searched, for the specific telephone number being called, for the area code/local exchange of the number being called, or for the area code alone. A given telephone number, area code/exchange combination, or area code, may be associated with more than one Gateway. The look up table (which may be referred to as an H 323 Zone table) may maintain data about Gateway utilization, in order to facilitate the choice of a Gateway with a lowest utilization in a given Zone. In any event, however, an object of the lookup may be to find a Gateway close to the recipient, so that the telephone call may be routed over the Internet to that Gateway, and returned to the conventional telephone network, at a location close to the recipient such that telephone network charges for the telephone call are minimized.
FIG. 2 illustrates a Gatekeeper lookup table 210 which may be used with the Gatekeeper 70 in FIG. 1 to maintain data by Zone 220, maintain Gateway addresses 230 for each Zone, and maintain data with respect to Gateway utilization 240.
Returning to FIG. 1, once a most appropriate Outbound Gateway 90 near the recipient is selected, from among a set of possible Gateways 80, 90, 100, the telephone call may be completed by establishing a telephone link over a conventional telephone network 110 between the Outbound Gateway 90 selected and the recipient 120. The telephone call then may be transmitted: (1) as a conventional telephone call over the conventional telephone network 30 between the caller 20 and the first (Inbound) Gateway 40; (2) as packets over the IP network 50 between the first (Inbound) Gateway 40 and the second (Outbound) Gateway 90; and (3) as a conventional telephone call over the conventional telephone network 110 between the second (Outbound) Gateway 90 and the recipient 120.
In this process, the Gateways 40, 90 may be thought of as knowing the Internet Protocol (IP) and in effect merging the conventional telephone network 30, 110 with the Internet 50, while the Gatekeeper 70 keeps track of relationships between IP addresses and telephone numbers and in effect translates between the two.
Conceptually, this may be illustrated by means of a simple example as illustrated in FIG. 3, for which a lookup table 410 is illustrated in FIG. 4.
Referring to FIG. 4, the example comprises a world composed of two zones, Boston and Los Angeles, in which each zone is defined by one area code 420, and each zone or area code has only one Gateway 430.
Referring now to FIG. 3, when it is desired to place a VOIP telephone call from Boston to Los Angeles, a process 310 might begin with a telephone call being initiated by a Boston caller 320. This call could be to a telephone number which connected the caller to a Boston Gateway 330. That Gateway then could send an inquiry to a Gatekeeper 340. The Gatekeeper then could look in a two-row H 323 Zone Table as illustrated in FIG. 4 containing zone “617” and an associated IP address (in this example, “a.b.c.d”) for the Boston Gateway in one row, and zone “213” and an associated IP address (in this example, “e.f.g.h”) for a Los Angeles Gateway in the second row. Returning now to FIG. 3, the “213” row could be chosen 350. The Gatekeeper then could communicate the IP address e.f.g.h of the Los Angeles Gateway to the Boston Gateway 360. Information about the telephone call could be sent in the form of packets from the Boston Gateway over the Internet to the IP address of the Los Angeles Gateway 370. Finally the telephone call could be completed over a conventional telephone network between the Los Angeles Gateway and a telephone belonging to a recipient of the telephone call 380, and the two persons could talk 390, with the telephone call proceeding as illustrated in FIG. 1 over the conventional telephone network 30 between the caller 20 and the Boston Gateway 40, as packets over the IP network 50 between the Boston Gateway 40 and the Los Angeles Gateway 90, and over the conventional telephone network 110 between the Los Angeles Gateway 90 and the recipient 120. Transmission of the telephone call as packets over the IP network 50 between the Boston and Los Angeles Gateways 40, 90 could eliminate use of a long distance telephone network, and costs associated with that network.
A slightly more complicated process could take place in a VOIP network containing three Zones, in which each Zone had associated with it several Gateways with varying utilizations. According to this example, for which a lookup table 510 is illustrated in FIG. 5, when a telephone call destined for an area code “213” reaches an incoming Gateway, that Gateway could query a Gatekeeper which looked in an H 323 Zone Table 510 for Zone 213 and determined that a Gateway with an IP address “e3.f3.g3.h3” has a lowest utilization. The incoming Gateway then could forward the telephone call to that Zone 213 Gateway to be returned to a conventional telephone network.
Presently, as illustrated in FIG. 6, a process 610 for transmission of electronic mail (“E-mail”) over the IP network 650 may proceed in a manner which in some respects parallels the above. The transmission may utilize mail servers and domain name servers (“DNS servers”). When a computer user sends an E-mail from his computer 620, the user may address it to “recipient@recipientserver.xxx”. Packets may be transmitted from the user's computer over his connection 630 to a mail server 640 with which he or she is associated. (Connection may be over a conventional telephone network utilizing a modem or over a high speed connection.)
The user's mail server 640 then may make an inquiry 645 of a DNS server 660 which maintains a lookup table associating domain names with IP addresses.
FIG. 7 illustrates such a lookup table 710, for a situation where there are three mail servers. The lookup table may associate domain names 720 with mail server IP addresses 730. A domain name of a recipient's mail server, in the example of FIG. 6 “recipientserver.xxx”, may be looked up, and an associated IP address for that mail server may be identified.
In looking up an IP address, the DNS server may take advantage of the fact that it maintains special records designating which IP addresses in its data base are mail servers. These records are “MX” records; this differentiation between mail server addresses and other addresses is necessary so that E-mail addressed to “recipient@recipientserver.xxx” may be sent to a “recipientserver.xxx” mail server, not to a Web page named “recipientserver.xxx”.
The DNS server's function of finding an IP address for a mail server with a given domain name is analogous to a Gatekeeper's function of finding an IP address for a Gateway associated with a telephone number in a given Zone in the VOIP system. As with a Gatekeeper H 323 Zone Table, a DNS server lookup table may include several different IP addresses for a given mail server domain name, along with information about utilization of each such IP address, to facilitate a most appropriate choice of an IP address.
An illustration of such a lookup table 810 is given in FIG. 8, which illustrates a situation where each mail server domain name 820 has associated with it several IP addresses 830, and a DNS server maintains information about server IP address utilization 840, to facilitate a choice of a most appropriate server.
Returning to FIG. 6, after an IP address of an appropriate mail server for the recipient is selected from the lookup table, the sender's mail server 640 then may forward the E-mail over the IP network 650 to the mail server 670 which was selected from a set of potential mail servers 670, 672, 674. The mail server 670 to which the E-mail is forwarded then may store the E-mail, or may forward it to a recipient's computer 690 (“recipient” in this example) over a connection 680 between the mail server 670 and the recipient (which again may be a conventional telephone network connected by means of a modem or may be a high speed connection).